Non-local Instruction Scheduling with Limited Code Growth

نویسندگان

  • Keith D. Cooper
  • Philip J. Schielke
چکیده

Instruction scheduling is a necessary step in compiling for many modern microprocessors. Traditionally, global instruction scheduling techniques have outperformed local techniques. However many of the global scheduling techniques described in the literature have a side effect of increasing the size of compiled code. In an embedded system, the size of compiled code is often a critical issue. In such circumstances, the scheduler should use techniques that avoid increasing the size of the generated code. This paper explores two global scheduling techniques, extended basic block scheduling and dominator path scheduling, that do not increase the size of the object code, and in some cases may decrease it.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Compiler Optimization for Superscalar Systems: Global Instruction Scheduling without Copies

Vol. 10 No. 1 1998 Many of today’s computer applications require computation power not easily achieved by computer architectures that provide little or no parallelism. A promising alternative is the parallel architecture, more specifically, the instruction-level parallel (ILP) architecture, which increases computation during each machine cycle. ILP computers allow parallel computation of the lo...

متن کامل

Comparing Tail Duplication with CompensationCode in Single Path Global

Global instruction scheduling allows operations to move across basic block boundaries to create tighter schedules. When operations move above control ow joins, some code duplication is generally necessary to preserve semantics. Tail duplication and compensation code are approaches to duplicating the necessary code, used by Superblock Scheduling and Trace Scheduling respectively. Compensation co...

متن کامل

Effective Instruction Scheduling With Limited Registers

Effective global instruction scheduling techniques have become an important component in modern compilers for exposing more instruction-level parallelism (ILP) and exploiting the everincreasing number of parallel function units. Effective register allocation has long been an essential component of a good compiler for reducing memory references. While instruction scheduling and register allocati...

متن کامل

Instruction Scheduling Heuristics

heuristics have been proposed for scheduling pipelined code, all assume, however, that pipeline constraints can occur after any instruction, and that operators. proaches are generally slower but more flexible than their heuristic couninstruction scheduling, since their dynamic reordering algorithms have limited scope. Optimierungsprobleme, Instruction Scheduling und Offset Assignment, when usin...

متن کامل

Register allocation sensitive region scheduling

Because of the interdependences between instruction scheduling and register allocation, it is not clear which of these two phases should run rst. In this paper, we describe how we modiied a global instruction scheduling technique to make it cooperate with a subsequent register allocation phase. In particular, our cooperative global instruction scheduler performs region scheduling transformation...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1998